﻿using Microsoft.Xna.Framework.Graphics;

namespace BattleCity.Classes
{
    public class Animation
    {
        /// <summary>
        /// Все кадры в анимации расположены по горизонтали.
        /// </summary>
        public Texture2D Texture
        {
            get { return texture; }
        }
        Texture2D texture;

        /// <summary>
        /// Длительность показа каждого кадра анимации.
        /// </summary>
        public float FrameTime
        {
            get { return frameTime; }
        }
        float frameTime;

        /// <summary>
        /// Зацикливать анимацию. 
        /// </summary>
        public bool IsLooping
        {
            get { return isLooping; }
        }
        bool isLooping;

        /// <summary>
        /// Получает количество кадров анимации.
        /// </summary>
        public int FrameCount
        {
            get { return Texture.Width / FrameWidth; }
        }

        /// <summary>
        /// Получает ширину кадра анимации.
        /// </summary>
        public int FrameWidth
        {
            get { return Texture.Height; }
        }

        /// <summary>
        /// Получает высоту кадра анимации.
        /// </summary>
        public int FrameHeight
        {
            get { return Texture.Height; }
        }

        /// <summary>
        /// Создает новую анимацию.
        /// </summary>        
        public Animation(Texture2D texture, float frameTime, bool isLooping)
        {
            this.texture = texture;
            this.frameTime = frameTime;
            this.isLooping = isLooping;
        }
    }
}